/*
 *  node.h
 *  Untitled
 *
 *  Created by Ben Nolan on 2/11/08.
 *  Copyright 2008 __MyCompanyName__. All rights reserved.
 *
 */

#pragma once

#include <string>

#include "quaternion.h"
#include "vector.h"
#include "guid.h"
#include "wid.h"

namespace ticpp{ class Element; }

namespace Wonderland{

	class Node{

	public:
		Node(Guid guid, Wid owner, Wid agent) : guid_(guid), owner_(owner), agent_(agent){
		};
		Node(std::string);
		Node(ticpp::Element*);

		std::string toString();
		
		Vector getPosition() const{
			return position_;
		}
		
		Wid owner_, agent_;
		Guid guid_;
		Vector position_, scale_;
		Quaternion rotation_;
		
		ticpp::Element* toXml();
		
	private:
		void loadFromXml(ticpp::Element* el);
	
	};

}

